export { }

interface Type<T> {
  id: () => T
  ids: () => T[]
}



let obj1: Type<number> = {
  id() {
    return 2
  },
  ids() {
    return [1, 2, 3]
  }
}

let obj2: Type<string> = {
  id() {
    return 'a'
  },
  ids() {
    return ['b', 'a', 'c']
  }
}